home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / src / fig15_12.jar / Ch15 / Fig15_12 / Listnd.h < prev    next >
C/C++ Source or Header  |  1997-11-04  |  784b  |  29 lines

  1. // Fig. 15.3: listnd.h
  2. // ListNode template definition
  3. #ifndef LISTND_H
  4. #define LISTND_H
  5.  
  6. template< class NODETYPE > class List;  // forward declaration
  7.  
  8. template<class NODETYPE>
  9. class ListNode {
  10.    friend class List< NODETYPE >; // make List a friend
  11. public:
  12.    ListNode( const NODETYPE & );  // constructor
  13.    NODETYPE getData() const;      // return data in the node
  14. private:
  15.    NODETYPE data;                 // data
  16.    ListNode< NODETYPE > *nextPtr; // next node in the list
  17. };
  18.  
  19. // Constructor
  20. template<class NODETYPE>
  21. ListNode< NODETYPE >::ListNode( const NODETYPE &info )
  22.    : data( info ), nextPtr( 0 ) { }
  23.  
  24. // Return a copy of the data in the node
  25. template< class NODETYPE >
  26. NODETYPE ListNode< NODETYPE >::getData() const { return data; }
  27.  
  28. #endif
  29.